package server

import (
	"server5/Interface"
	"server5/utils"
)

type Land struct {
	id         int32
	landType   int32
	stronghold Interface.IStronghold
	pop        int32
	moneyAdd   int32
	magicAdd   int32
}

func (l *Land) Id() int32 {
	return l.id
}

func (l *Land) LandType() int32 {
	return l.landType
}

func (l *Land) MagicAdd() int32 {
	return l.magicAdd
}

func (l *Land) MoneyAdd() int32 {
	return l.moneyAdd
}

func (l *Land) Pop() int32 {
	return l.pop
}

func NewLand(id int32,stronghold Interface.IStronghold) *Land {
	return &Land{
		id:         id,
		landType:   utils.Land,
		stronghold: stronghold,
		pop:        0,
		moneyAdd:   0,
		magicAdd:   0,
	}
}

func (l *Land) ToMagicStone() {
	l.landType = utils.MagicStone
	l.pop = 0
	l.moneyAdd = 0
	l.magicAdd = utils.MagicStoneMagicAdd
}

func (l *Land) ToFarm() {
	l.landType = utils.Farm
	l.pop = utils.FarmPop
	l.moneyAdd = 0
	l.magicAdd = 0
}

func (l *Land) ToMine() {
	l.landType = utils.Mine
	l.pop = 0
	l.moneyAdd = utils.MineMoneyAdd
	l.magicAdd = 0
}

func (l *Land) ToLand() {
	l.landType = utils.Land
	l.pop = 0
	l.moneyAdd = 0
	l.magicAdd = 0
}